{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Decesion Trees?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# What is a Decision Tree?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A Decision Tree is a type of supervised learning algorithm that is mostly used for classification problems, but can also be used for regression. It works for both categorical and continuous input and output variables.\n",
    "\n",
    "In a Decision Tree, each internal node represents a \"test\" on an attribute (e.g. whether a coin flip comes up heads or tails), each branch represents the outcome of the test, and each leaf node represents a class label (a decision taken after computing all attributes). The paths from root to leaf represent classification rules.\n",
    "\n",
    "The main advantages of Decision Trees are that they are easy to understand, visualize, and interpret. However, they can be prone to overfitting, especially when the tree is very deep."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# What are some common applications of Decision Trees?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Decision Trees are versatile machine learning algorithms that can be used in a variety of applications:\n",
    "\n",
    "1. **Medical Diagnosis**: Decision Trees are used to assist in medical diagnosis by analyzing patient data and predicting disease outcomes based on various symptoms and medical history.\n",
    "\n",
    "2. **Credit Risk Analysis**: Financial institutions use Decision Trees to assess the risk of lending to individuals based on factors such as credit history, income, employment status, and other variables.\n",
    "\n",
    "3. **Customer Segmentation**: Businesses use Decision Trees to segment their customers into different groups based on purchasing behavior, demographics, and other factors. This can help in targeted marketing and improving customer service.\n",
    "\n",
    "4. **Quality Control**: In manufacturing, Decision Trees can be used to identify factors that impact the quality of the products and to predict faulty products.\n",
    "\n",
    "5. **Speech Recognition**: Decision Trees are used in speech recognition technologies to predict the phonetic context.\n",
    "\n",
    "6. **Bioinformatics**: In bioinformatics, Decision Trees are used for tasks such as gene finding and protein function prediction.\n",
    "\n",
    "Remember, the success of a Decision Tree in these applications depends on the quality of the input data and the way the tree is constructed and pruned."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Decision Tree Terminologies?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image\n",
    "Image(filename='images/DT.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here are some common terminologies used in Decision Trees:\n",
    "\n",
    "1. **Root Node**: This is the topmost node of the tree that represents the entire sample or population and this further gets divided into two or more homogeneous sets.\n",
    "\n",
    "2. **Splitting**: It is a process of dividing a node into two or more sub-nodes.\n",
    "\n",
    "3. **Decision Node**: When a sub-node splits into further sub-nodes, then it is called the decision node.\n",
    "\n",
    "4. **Leaf/Terminal Node**: Nodes that do not split are called Leaf or Terminal nodes.\n",
    "\n",
    "5. **Pruning**: The process of removing sub-nodes of a decision node is called pruning. This is the opposite process of splitting.\n",
    "\n",
    "6. **Branch/Sub-Tree**: A subsection of the entire tree is called a branch or sub-tree.\n",
    "\n",
    "7. **Parent and Child Node**: A node, which is divided into sub-nodes is called a parent node of sub-nodes whereas sub-nodes are the child of a parent node.\n",
    "\n",
    "8. **Entropy**: It is a measure of the randomness or unpredictability in the dataset.\n",
    "\n",
    "9. **Information Gain**: The decrease in entropy after a dataset is split on an attribute. Constructing a decision tree is all about finding attributes that return the highest information gain.\n",
    "\n",
    "10. **Gini Index**: It is a metric to measure how often a randomly chosen element would be incorrectly identified. It means an attribute with a lower Gini index should be preferred.\n",
    "\n",
    "These terminologies are fundamental to understanding how Decision Trees work in machine learning."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example of Decision Tree"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's consider a simple example where we have historical data about whether we went outside for a walk based on two factors: Weather (Sunny, Overcast, Rainy) and Wind (Strong, Weak).\n",
    "\n",
    "Here's a small dataset:\n",
    "\n",
    "| Day  | Weather | Wind  | Walk |\n",
    "|------|---------|-------|------|\n",
    "| 1    | Sunny   | Weak  | Yes  |\n",
    "| 2    | Overcast| Strong| Yes  |\n",
    "| 3    | Rainy   | Weak  | No   |\n",
    "| 4    | Sunny   | Strong| Yes  |\n",
    "| 5    | Sunny   | Weak  | Yes  |\n",
    "| 6    | Overcast| Weak  | Yes  |\n",
    "| 7    | Rainy   | Strong| No   |\n",
    "| 8    | Rainy   | Weak  | No   |\n",
    "\n",
    "A decision tree for this data might look like this:\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "vscode": {
     "languageId": "r"
    }
   },
   "source": [
    "    Weather\n",
    "    /  |  \\\n",
    "Sunny Overcast Rainy\n",
    "  |      |      |\n",
    " Wind    Yes    No\n",
    " /  \\\n",
    "Yes  No"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "Here's how we got there:\n",
    "\n",
    "1. The first split is made on the Weather attribute because it provides the highest information gain (i.e., it best separates the instances of different classes). \n",
    "\n",
    "2. If the weather is Overcast, we always go for a walk (Yes). So, we don't need any further tests and we make 'Overcast' a leaf node pointing to a decision 'Yes'.\n",
    "\n",
    "3. If the weather is Rainy, we never go for a walk (No). So, 'Rainy' is also a leaf node pointing to a decision 'No'.\n",
    "\n",
    "4. If the weather is Sunny, the decision depends on the Wind. So, we make a new test on the attribute Wind.\n",
    "\n",
    "5. If the wind is Weak, we go for a walk (Yes). If the wind is Strong, we don't go for a walk (No). So, we make 'Weak' and 'Strong' leaf nodes pointing to 'Yes' and 'No' respectively.\n",
    "\n",
    "This decision tree correctly classifies all instances in our training data. In practice, decision trees might be much larger and more complex, and they might not always classify all instances correctly. But the basic idea is always the same: choose the attribute that best separates the instances, and make a decision tree node for it."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Decision Tree Assumptions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "While Decision Trees are a powerful and flexible method, they operate under a few assumptions:\n",
    "\n",
    "1. **Invariance to scale of measurements**: Decision Trees treat each variable in isolation, so the scale of measurements does not affect the splits. For example, whether a measurement is in kilometers or miles won't affect the tree structure.\n",
    "\n",
    "2. **Recursive partitioning**: Decision Trees assume that the best way to predict the outcome is by recursively partitioning the data into distinct sub-groups based on the input features. This is done by choosing the feature that provides the maximum information gain at each step.\n",
    "\n",
    "3. **Homogeneity of samples**: At any given node, Decision Trees assume that the samples are as homogeneous as possible. The standard metrics for measuring homogeneity are entropy and Gini index.\n",
    "\n",
    "4. **Independence of observations**: Decision Trees, like other machine learning algorithms, assume that the observations are independent of each other.\n",
    "\n",
    "5. **Non-linearity of target variable**: Decision Trees make no assumption about the linearity of the relationship between the input variables and the target variable. They can handle both linear and non-linear relationships.\n",
    "\n",
    "6. **No assumption of distribution**: Decision Trees do not assume any specific distribution of the data. They can handle data that is normally distributed, skewed, or has any other distribution.\n",
    "\n",
    "Remember, these assumptions guide the construction of the Decision Tree, but they do not guarantee that the Decision Tree will be the best model for your data. It's always a good idea to try several different models and see which one works best for your specific problem."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# How do Decision Trees use Entropy?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's consider a simple weather example where we have 14 days of weather data and the corresponding decision whether to play tennis or not. The data is as follows:\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "vscode": {
     "languageId": "r"
    }
   },
   "source": [
    "Day   Outlook  Temp  Humidity  Wind  Play\n",
    "1     Sunny    Hot   High      Weak  No\n",
    "2     Sunny    Hot   High      Strong  No\n",
    "3     Overcast Hot   High      Weak  Yes\n",
    "4     Rain     Mild  High      Weak  Yes\n",
    "5     Rain     Cool  Normal    Weak  Yes\n",
    "6     Rain     Cool  Normal    Strong  No\n",
    "7     Overcast Cool  Normal    Strong  Yes\n",
    "8     Sunny    Mild  High      Weak  No\n",
    "9     Sunny    Cool  Normal    Weak  Yes\n",
    "10    Rain     Mild  Normal    Weak  Yes\n",
    "11    Sunny    Mild  Normal    Strong  Yes\n",
    "12    Overcast Mild  High      Strong  Yes\n",
    "13    Overcast Hot   Normal    Weak  Yes\n",
    "14    Rain     Mild  High      Strong  No"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "Let's calculate the entropy of the Play column:\n",
    "\n",
    "There are 9 days when we play tennis (Yes) and 5 days when we don't play tennis (No).\n",
    "\n",
    "So, the proportion of positive examples (p(+)) is 9/14 and the proportion of negative examples (p(-)) is 5/14.\n",
    "\n",
    "Plugging these values into the entropy formula:\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "vscode": {
     "languageId": "r"
    }
   },
   "source": [
    "Entropy(Play) = - p(+) * log2(p(+)) - p(-) * log2(p(-))\n",
    "              = - (9/14) * log2(9/14) - (5/14) * log2(5/14)\n",
    "              = 0.940"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "So, the entropy of the Play column is 0.940. This value represents the amount of uncertainty, impurity or disorder in the Play column. The goal of the decision tree is to split the data in a way that reduces this entropy."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Entropy is a measure of impurity, disorder, or uncertainty. In the context of Decision Trees, entropy is used to quantify the impurity of an input set.\n",
    "\n",
    "When building a Decision Tree, we want to create splits that minimize the entropy (i.e., create subsets that are as pure as possible). If a subset is completely pure (all elements belong to a single class), its entropy is zero. If a subset is evenly divided (it contains an equal number of elements from each class), its entropy is one.\n",
    "\n",
    "Here's how entropy is calculated for a binary classification problem:\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "vscode": {
     "languageId": "r"
    }
   },
   "source": [
    "Entropy(S) = - p(+) * log2(p(+)) - p(-) * log2(p(-))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "Where:\n",
    "- S is a subset of training examples\n",
    "- p(+) is the proportion of positive examples in S\n",
    "- p(-) is the proportion of negative examples in S\n",
    "\n",
    "When building the tree, for each attribute, we calculate the entropy of all possible splits, and choose the one that results in the smallest entropy.\n",
    "\n",
    "This process is repeated recursively, resulting in a tree where the splits at the top have lower entropy (are more pure) than the splits at the bottom. This is how Decision Trees use entropy to make decisions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Information Gain?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Information Gain is a statistical property that measures how well a given attribute separates the training examples according to their target classification. It's one of the key criteria used by Decision Tree algorithms to construct a Decision Tree.\n",
    "\n",
    "Information Gain is calculated by comparing the entropy of the dataset before and after a transformation. In the context of Decision Trees, the transformation would be splitting the dataset on an attribute.\n",
    "\n",
    "Here's the formula for Information Gain:\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "vscode": {
     "languageId": "r"
    }
   },
   "source": [
    "Information Gain = Entropy(Parent) - [Weighted Average] * Entropy(Children)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "Where:\n",
    "- `Entropy(Parent)` is the entropy of the initial state (before the split)\n",
    "- `Entropy(Children)` is the entropy of the state after the split\n",
    "- `Weighted Average` is the sum of the ratio of the number of elements in each child node to the number of elements in the parent node\n",
    "\n",
    "The attribute with the highest Information Gain is chosen as the splitting attribute at each node.\n",
    "\n",
    "In simple terms, Information Gain is a measure of the reduction in entropy achieved because of the split. The goal of a Decision Tree is to maximize the Information Gain at each split."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate the Information Gain for the \"Outlook\" attribute using the weather example from before. The Outlook attribute has three possible values: Sunny, Overcast, and Rain.\n",
    "\n",
    "First, we calculate the entropy of the parent node (Play). As we calculated before, it's 0.940.\n",
    "\n",
    "Next, we calculate the entropy of each child node (Outlook=Sunny, Outlook=Overcast, Outlook=Rain).\n",
    "\n",
    "For Outlook=Sunny, we have 5 days with 2 Yes and 3 No.\n",
    "Entropy(Sunny) = - (2/5)*log2(2/5) - (3/5)*log2(3/5) = 0.971\n",
    "\n",
    "For Outlook=Overcast, we have 4 days with 4 Yes and 0 No.\n",
    "Entropy(Overcast) = - (4/4)*log2(4/4) - (0/4)*log2(0/4) = 0 (since log2(0) is undefined, we treat the whole term as 0)\n",
    "\n",
    "For Outlook=Rain, we have 5 days with 3 Yes and 2 No.\n",
    "Entropy(Rain) = - (3/5)*log2(3/5) - (2/5)*log2(2/5) = 0.971\n",
    "\n",
    "Now, we calculate the weighted average of the entropies:\n",
    "\n",
    "Weighted Average = (5/14)*Entropy(Sunny) + (4/14)*Entropy(Overcast) + (5/14)*Entropy(Rain)\n",
    "                 = (5/14)*0.971 + (4/14)*0 + (5/14)*0.971\n",
    "                 = 0.693\n",
    "\n",
    "Finally, we calculate the Information Gain:\n",
    "\n",
    "Information Gain = Entropy(Parent) - Weighted Average\n",
    "                 = 0.940 - 0.693\n",
    "                 = 0.247\n",
    "\n",
    "So, the Information Gain for the \"Outlook\" attribute is 0.247. This process would be repeated for each attribute, and the attribute with the highest Information Gain would be chosen for the split."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# When to Stop Splitting?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The process of splitting nodes in a Decision Tree can be stopped under the following conditions:\n",
    "\n",
    "1. **All samples for a given node belong to the same class**: If all samples are from the same class, there's no need to further split this node because the decision is already clear.\n",
    "\n",
    "2. **There are no remaining attributes to split on**: If all attributes have been used for splitting, there's no further attribute left to split the node.\n",
    "\n",
    "3. **Maximum tree depth is reached**: You can set a limit on the maximum depth of the decision tree to prevent overfitting. Once this limit is reached, the tree stops splitting.\n",
    "\n",
    "4. **Minimum node size is reached**: You can set a limit on the minimum number of samples required to split an internal node. If the number of samples in a node is less than this limit, the node is not split.\n",
    "\n",
    "5. **The split does not improve the prediction**: If the Information Gain (or other criteria) does not improve significantly by splitting, the node is not split.\n",
    "\n",
    "6. **Pruning**: This is a technique used to simplify the structure of the tree and avoid overfitting. In pruning, you trim off the branches of the tree, i.e., remove the leaf nodes, and this process is done until the overall performance of the tree on the validation set improves.\n",
    "\n",
    "Remember, stopping the splitting process at the right time is crucial to prevent overfitting and underfitting. Overfitting occurs when the tree is too complex and captures noise in the data, while underfitting occurs when the tree is too simple to capture important patterns in the data."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pruning?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pruning is a technique in machine learning that reduces the size of decision trees by removing sections of the tree that provide little power to classify instances. The dual goals of pruning are to reduce the complexity of the final classifier as well as to improve predictive accuracy by reducing overfitting.\n",
    "\n",
    "There are two main types of pruning: pre-pruning and post-pruning.\n",
    "\n",
    "1. **Pre-pruning (Early stopping rule)**: This stops the creation of the tree early. It's done by setting constraints on the minimum number of instances that must be in a node to consider splitting it, or setting a maximum on the depth of the tree, among others. The disadvantage of pre-pruning is that it might stop the growing process too early before it reaches a good solution.\n",
    "\n",
    "2. **Post-pruning (Cost complexity pruning)**: This allows the tree to grow to its fullest, then prunes the nodes of the tree in a bottom-up fashion. If the quality of the tree (measured by a validation set) improves by pruning a node, then the node with its descendants is replaced by a leaf node. Post-pruning is generally more accurate than pre-pruning but is more computationally intensive.\n",
    "\n",
    "The goal of both pre-pruning and post-pruning is to remove the parts of the tree that do not provide significant predictive power to the final model, thereby reducing overfitting and improving the model's generalization ability."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python Code Implementation:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's use the Iris dataset from the sklearn library to create a Decision Tree Classifier. We'll also use the tree module from sklearn to perform the actual tree building.\n",
    "\n",
    "Here's a simple Python code implementation:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 1.0\n"
     ]
    }
   ],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "# Load the iris dataset\n",
    "iris = load_iris()\n",
    "X = iris.data\n",
    "y = iris.target\n",
    "\n",
    "# Split the dataset into a training set and a test set\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
    "\n",
    "# Create a Decision Tree Classifier object\n",
    "clf = DecisionTreeClassifier()\n",
    "\n",
    "# Train the Decision Tree Classifier\n",
    "clf = clf.fit(X_train,y_train)\n",
    "\n",
    "# Predict the response for test dataset\n",
    "y_pred = clf.predict(X_test)\n",
    "\n",
    "# Model Accuracy\n",
    "print(\"Accuracy:\", accuracy_score(y_test, y_pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "This code first loads the Iris dataset, then splits it into a training set and a test set. It creates a Decision Tree Classifier and trains it on the training data. Then it makes predictions on the test data and prints the accuracy of the model."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# R Code Implementation:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Sure, let's use the iris dataset from the R datasets package to create a Decision Tree Classifier. We'll use the rpart package to perform the actual tree building.\n",
    "\n",
    "Here's a simple R code implementation:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading required package: rpart\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Classification tree:\n",
      "rpart(formula = Species ~ ., data = iris, method = \"class\")\n",
      "\n",
      "Variables actually used in tree construction:\n",
      "[1] Petal.Length Petal.Width \n",
      "\n",
      "Root node error: 100/150 = 0.66667\n",
      "\n",
      "n= 150 \n",
      "\n",
      "    CP nsplit rel error xerror     xstd\n",
      "1 0.50      0      1.00   1.12 0.053267\n",
      "2 0.44      1      0.50   0.59 0.059828\n",
      "3 0.01      2      0.06   0.10 0.030551\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "plot without title"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 420,
       "width": 420
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Install and load necessary packages\n",
    "if (!require(rpart)) install.packages('rpart')\n",
    "library(rpart)\n",
    "\n",
    "# Load the iris dataset\n",
    "data(iris)\n",
    "\n",
    "# Create a Decision Tree model\n",
    "fit <- rpart(Species ~ ., data = iris, method = \"class\")\n",
    "\n",
    "# Print the resulting tree\n",
    "printcp(fit)\n",
    "\n",
    "# Plot the resulting tree\n",
    "plotcp(fit)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "This code first checks if the necessary package (rpart) is installed, and if not, installs it. Then it loads the iris dataset, creates a Decision Tree model using the rpart function, and prints and plots the resulting tree. The \"Species ~ .\" formula tells rpart to build a model predicting the Species variable as a function of all other variables in the dataset (denoted by the dot)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Advantages?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Decision Trees have several advantages in machine learning:\n",
    "\n",
    "1. **Easy to Understand and Interpret**: Decision Trees are graphical in nature and can be easily understood by non-technical people. They mimic human decision-making more closely than other models.\n",
    "\n",
    "2. **Less Data Cleaning Required**: They are not sensitive to outliers and missing values to a certain degree.\n",
    "\n",
    "3. **Data type is not a constraint**: They can handle both numerical and categorical variables.\n",
    "\n",
    "4. **Non-parametric Method**: Decision Trees are a non-parametric method, which means that decision trees have no assumptions about the space distribution and the classifier structure.\n",
    "\n",
    "5. **Feature Selection**: Decision Trees perform feature selection automatically as they select the most informative feature to split on at each node.\n",
    "\n",
    "6. **Can handle multi-output problems**: They can handle datasets that have multiple outputs.\n",
    "\n",
    "7. **Useful for EDA**: Decision tree is one of the fastest way to identify most significant variables and relation between two or more variables.\n",
    "\n",
    "Remember, while Decision Trees have these advantages, they also have some disadvantages like overfitting, high variance, and bias towards features with more levels. It's important to understand these trade-offs when using Decision Trees."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# DisAdvantages?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "While Decision Trees are a powerful tool, they do have some disadvantages:\n",
    "\n",
    "1. **Overfitting**: Decision Trees can easily overfit the data by creating a tree that is too deep and complex. This happens when the tree learns the data too well, including its noise and outliers, which leads to poor generalization performance.\n",
    "\n",
    "2. **High Variance**: Small changes in the data can result in a completely different tree. This is known as high variance, which can lead to instability and sensitivity to the specific data used for training.\n",
    "\n",
    "3. **Bias towards features with more levels**: Decision Trees are biased towards features with more levels, as they can result in more splits and thus seem more informative.\n",
    "\n",
    "4. **Greedy Algorithm**: Decision Trees use a greedy algorithm that makes the optimal choice at each node. However, these local optimal choices may not result in a globally optimal tree.\n",
    "\n",
    "5. **Cannot model complex relationships**: Decision Trees are not suitable for tasks where complex relationships exist between features. They are not good at capturing additive structure, interactions, or other complex behaviors.\n",
    "\n",
    "6. **Not suitable for continuous variables**: While Decision Trees can handle continuous data, they do so by binning, which can lead to loss of information.\n",
    "\n",
    "Despite these disadvantages, Decision Trees are still a very popular algorithm due to their interpretability and versatility. They are often used as a base learner in ensemble methods to mitigate some of these disadvantages."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Reference:\n",
    "1. [Analytics Vidya](https://www.analyticsvidhya.com/blog/2021/08/decision-tree-algorithm/\n",
    ")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": "r",
   "file_extension": ".r",
   "mimetype": "text/x-r-source",
   "name": "python",
   "pygments_lexer": "r",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
